package basic_syntax;


// 值传递和引用类型的代码
public class PassByValueAndReferenceDemo {

    // 值传递示例
    public static void passByValue(int num) {
        num = 100;
        System.out.println("在 passByValue 方法中，num 的值变为: " + num);
    }

    // 引用传递（实际上是值传递的一种特殊情况，传递的是引用的副本）并修改对象属性示例
    public static void modifyReference(Data data) {
        data.value = 200;
        System.out.println("在 modifyReference 方法中，data 的 value 属性变为: " + data.value);
    }

    public static void main(String[] args) {
        int number = 50;
        System.out.println("调用 passByValue 方法前，number 的值是: " + number);
        passByValue(number);
        System.out.println("调用 passByValue 方法后，number 的值是: " + number);

        Data data = new Data();
        data.value = 10;
        System.out.println("调用 modifyReference 方法前，data 的 value 属性是: " + data.value);
        modifyReference(data);
        System.out.println("调用 modifyReference 方法后，data 的 value 属性是: " + data.value);
    }

}
class Data {
    int value;
}

